#ifndef __INFRARED_H__
#define __INFRARED_H__
#include "board.h"
#include "gpio.h"
/*
           -----   -   -   -   -   -   -   -   -   -   -
|  9ms    |4.5ms| | | | | | | | | | | | | | | | | | | | | |      |
|---------|     |-| |-| |-| |-| |-| |-| |-| |-| |-| |-| |-|xxxxxx|
|<-leader code->|<-user1->|<-user2->|<is code>|<the code->|<stop>|
                |<-- custom 16bit-->|<--data code 16bit-->|<1bit>|

==========================================================================================
0和1均以0.56ms的低电平开始(实际测量是500us的样子)，不同的是后面出现的高电平，
如果高电平是0.56ms(实际测量是500us的样子)，则表示0，如果高电平是1.68ms(0.56*3=1.68)则表示1
0.56ms:|_|
      _   _   _
0:     |_| |_| |
      _   ____   ____
1:     |_|    |_|    |_
==========================================================================================
写代码的时候只需要检测高电平的时间即可。
以下时间都是通过示波器实际测量所得。
引导码的高电平：4.5ms
0的高电平     ：0.56ms(实测0.5ms的样子)
1的高电平     ：1.68ms
连发码的高电平：2.1ms
不同的遥控按键值是不一样的，需要实际测量，测量的时候可通过串口打印出键值来测量
下面的键值是野火ISO STM32开发板配套的遥控器对应的键值
==========================================================================================
电源  : 162 | MENU  : 226 | TEST : 34  | +  :  2  | RETURN: 194 |
|<<   : 224 | >     : 168 | >>|  : 144 | C  : 176 | -     : 152 |
0     : 104 | 1     ：48  | 2    ：24  | 3  ：122 | 4     ：16  |
5     ：56  | 6     ：90  | 7    ：66  | 8  ：74  | 9     ：82  |
==========================================================================================
*/

#define IRDA_ID 0
#define INFRARED_DQ_IN  PEin(3)  /* 读取红外引脚电平*/

extern rt_bool_t  infraled_byte_flag;
extern uint8_t get_infraled(void);
#endif /* end of include guard: __INFRARED_H__ */
